import java.util.HashMap;
import java.util.Map;

/**
 * \* Created with IntelliJ IDEA.
 * \* User: 冯若航
 * \* Date: 2021/5/16
 * \* Time: 10:35
 * \* To change this template use File | Settings | File Templates.
 * \* Description:
 * \
 */
public class 找出和为指定值的下标对 {
    //记录nums1
    int[] num1;
    int[] num2;
    //记录num2的值以及每个值出现的次数
    Map<Integer, Integer> map = new HashMap<>();

    public void FindSumPairs(int[] nums1, int[] nums2) {
        num1 = nums1;
        num2 = nums2;
        //将nums2的每个数加入哈希表中
        for(int i : nums2) {
            //如果存在
            if(map.containsKey(i))
            {
                //次数加1
                map.put(i, map.get(i) + 1);
            }
            else {
                //不存在则次数置为1
                map.put(i, 1);
            }
        }
    }

    public void add(int index, int val) {
        //取出下标为index的数
        map.put(num2[index], map.get(num2[index]) - 1);
        //加上val
        num2[index] += val;
        if(map.containsKey(num2[index])){
            //放入哈希表中
            map.put(num2[index], map.get(num2[index]) + 1);}
        else{
            map.put(num2[index], 1);
        }
    }

    public int count(int tot) {
        int res = 0;
        //遍历num1
        for (int i : num1){
            //如果存在，则加上该数出现的次数
            if(map.containsKey(tot - i)){
                res += map.get(tot - i);
            }
        }
        return res;
    }



}